#include "stdio.h"
#include "unistd.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "fcntl.h"
#include "stdlib.h"
#include "string.h"
#include <sys/ioctl.h>

#define OPEN_CMD       _IO(0xEF, 1)  // 打开命令
#define CLOSE_CMD      _IO(0xEF, 2)  // 关闭命令
#define SETPERIOD_CMD  _IOW(0xEF, 3, int)  // 设置周期

/*
 * @description : main主程序
 * @param - argc : argv数组元素个数
 *  * @param - argv : 具体参数
 * @return : 0 成功;其他 失败 29 */
int main(int argc, char *argv[])
{
    int fd, ret;
    char *filename;
    unsigned char str[128];
    unsigned char data;
    
    if(argc != 2){
        printf("Error Usage!\r\n");
        return -1;
    }
    
    filename = argv[1];
    
    /* 打开key驱动 */
    fd = open(filename, O_RDWR);
    if(fd < 0){
        printf("file %s open failed!\r\n", argv[1]);
        return -1;
    }
    
    /* 循环读取按键值数据！ */
    while(1) {
        ret = read(fd, &data, sizeof(data));
        if(ret < 0){

        }
        else{
            if(data){
                printf("key value = %#x \r\n", data);
            }
        }
    }

    ret= close(fd); /* 关闭文件 */
    if(ret < 0){
        printf("file %s close failed!\r\n", argv[1]);
        return -1;
    }
    
    return 0;
}